今天要接續DataFrame的介紹
這篇文章會分成兩個部分:
會利用kaggle上的開源資料進行更多的pandas練習
Kaggle: Your Machine Learning and Data Science Community
kaggle是資料科學世界常用的開源網站
上面提供大量且即時的資料檔案可以方便學習者練習
也有教學的課程可以針對自己有興趣的方面學習
還會舉辦資料科學的相關競賽
更提供各種的討論空間讓大家可以在上面交流想法跟解決疑惑
如果想做project
上面也會有很多很好的idea可以參考
總而言之就是對想學資料科學的人來說
非常萬能的平台
看的課程還是Coursera上的 Introduction to Data Science in Python
Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera
練習是利用上述課程裡教的搭配以前在學校學過的知識
整裡並且搭配實際的資料檔
整理出來的筆記
這裡練習的dataframe是沿用上篇文章裡使用到的顧客資料
先來看看dataframe原本的樣子
df
.drop()
當我們想要刪除特定row裡的值,可以使用.drop()
,這種用法是回傳刪掉特定row的新DataFrame
要注意的是並不會更動原始的資料表
假如現在不想要顧客2的資料
df.drop("customer2")
https://i.imgur.com/UeJP6BP.png
可以看到刪掉顧客二後剩下的資料
現在來檢查原本的資料表有沒有任何變化
df
原始的資料並不會因為drop.( )
而改變,
但是當想要更改到資料表內的原始值
通常會在drop內加上參數,
inplace=True代表要替換到原始值,
而axis則是要更動的維度,0是row,1是column
先複製Dataframe,利用copy.( )
copy_df = df.copy()
#再來加上參數
copy_df.drop("City",inplace=True,axis=1)
copy_df
可以看到成功刪除"City"的column
del
第二種可以直接透過indexing operator刪除的方式,利用del
del copy_df["Age"]
copy_df
這個方法會直接更改到原始的資料
[ ]
[ ]
裡可以放指定的list,或是統一的值
假如現在想要放每個顧客購買的品項
先建立一個資料值全為null的column
df["Items"] = None
df
現在利用list指定每個顧客買的商品品項
df["Items"] = ["computer","headphone","water bottle"]
df
可以看到成功加上每個顧客購買的品項
今天練習的部分處理到資料的新增或刪除
要很小心的是
在pandas裡有些資料的語法雖然用途一樣
但有的可能會更動到原始dataframe,有的不會
像是有的會直接複製一個新的dataframe進行指定操作再回傳
有的則是會更新到原始資料
所以根據想要操作的方式
需要搭配不同的語法
在練習的時候也要格外小心該語法是否會更動到資料的原始數值
記得使用這個參數:inplace=True